package com.tms.pidan.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

/**
 * @author jinyufeng
 * 用于操作kafka
 */
@Component
public class KafkaSender {
    public final static String MSG_TOPIC="pidan";//kafka队列名称

    /**
     * 注入kafkaTemplate
     */
    @Autowired
    private KafkaTemplate<String,String> kafkaTemplate;

    /**
     * 通过静态的template对象获取kafka队列的值
      */
    private static KafkaTemplate<String,String> template;

    /**
     * 将kafkaTemplate赋值到template中
     * @PostConstruct:当前类实例后就会执行注解下面的方法
     */
    @PostConstruct
    public void init(){
        template=kafkaTemplate;
    }

    /**
     * 向kafka队列发送消息
     * topic:相当于队列名称
     * message:具体数据
     */
    public static boolean send(String topic,String message){
        try {
            template.send(topic,message);
        }catch (Exception e){
            return false;
        }
        return true;
    }
}
